Advancements in network technologies have increased the number and types of services provided over networks. Many network-based services provide guaranteed levels of service that generally stipulate a need for monitoring network performance in order to maintain the guaranteed service levels. Consequently, performance monitoring technologies have been developed to measure network performance.
Conventional performance monitoring technologies are typically divided into two different categories commonly known as passive and active performance monitoring technologies. Passive performance monitoring technologies typically monitor network signals as they pass through a given point of a network. This type of monitoring provides only limited information that does not account for events that occur at other points in the network. In particular, passive monitoring technologies are unaware of upstream events (e.g., packets being dropped) that affect network performance.
Active performance monitoring technologies generally involve injecting dedicated monitoring messages into network traffic and using the dedicated messages as a sample from which to infer network performance measurements. Unfortunately, the sample-based inferences do not always accurately reflect actual network performance. Moreover, conventional active performance monitoring technologies are known to significantly increase the traffic loads carried by and/or hardware investments associated with the networks being monitored.
For example, certain performance monitoring technologies rely upon control and/or test protocols that are dedicated exclusively for monitoring network performance. The implementation of such performance monitoring technologies typically requires that network devices be configured to recognize and respond to the dedicated test and/or control protocols. This increases the overhead of network resources because a certain amount of the network resources (e.g., bandwidth and processing capacity) must be reserved for handling dedicated performance monitoring traffic. In addition, network devices may operate on platforms that are incompatible with certain dedicated test and control protocols. In some cases, dedicated test and control protocols are proprietary to vendors and unavoidably force network service providers to rely on a specific vendor.
Other active performance monitoring technologies use existing protocols to estimate network performance measurements. These conventional technologies also have shortcomings. For example, “ping” messages such as those used in the Internet Control Message Protocol have been used to estimate round-trip packet loss based on the fraction of ping messages that go unacknowledged. However, as with other conventional active performance monitoring technologies, only sample-based estimates of packet loss are provided. The estimates can be unreliable for a number of reasons, including differences between ping messages and actual data traffic. Moreover, the estimates can be skewed because network devices often give low priority to ping messages during high-traffic periods.